1. Field of the Invention
The present invention is directed generally to mobile wireless communication devices and the mobile wireless networks that serve them. In particular, the invention is directed to peer-to-peer streaming video between mobile wireless communication devices.
2. Description of the Related Art
Providers of mobile wireless communication networks are offering more and more services beyond voice communications. One highly desirable service to add is peer-to-peer video communications, which enables one mobile wireless device to send streaming video to another such device over a mobile wireless network. Software applications already exist to enable a mobile wireless device to encode video and stream it to another mobile wireless device. However, current mobile wireless devices and networks lack certain features that would allow peer-to-peer video applications to more fully control the quality of the video viewing experience.
A video is a series of frames that can be shown in sequence by a video player to create a video viewing experience. The quality of the viewing experience is influenced by the resolution of the frames and the rate at which the frames are played.
Resolution is the amount of detail in a frame. Videos with higher frame resolutions are perceived by most viewers as having higher quality.
The playback frame rate is also important for good quality video viewing. The playback frame rate must be fast enough for a viewer's vision persistence to perceive the video as smoothly flowing images. If the playback frame rate is too slow, then viewers will perceive frames individually, which will make objects in the video seem to move in an erratic fashion. Video players thus attempt to maintain a playback frame rate above a certain minimum frame rate.
A video player usually stores the frames it receives temporarily in a buffer before playing them. If rate the buffer receives frames is less than the current playback frame rate, the number of frames stored in the buffer will decrease. A complete halt in displaying a video is considered worse than a slow down, so if the buffer is low on frames, the video player may slow down the playback frame rate.
A video as originally recorded is a stream of data with a bit rate that is proportional to the product of the recorded frame resolution and the recorded frame rate. However, high video bit rates may require too much memory to store or too much bandwidth to transmit in some applications. Video codecs may be used to compress the video data stream, resulting in an encoded video stream with an encoding rate that is substantially less than the original video bit rate. Since most compression techniques are lossy, decreasing the encoding rate by increasing the compression may come at a cost of reduced video quality.
A mobile wireless device's video encoding rate can be limited by the transmission rate at which the mobile wireless device sends the encoded video stream to a receiving mobile wireless device. Buffers on the transmitting and receiving devices can store part of the encoded video stream that the transmitting device is not yet ready to send or the receiving device is not yet ready to playback. These buffers allow the video encoding rate to be slightly faster or slower than the video transmission rate for short periods of time, but since the buffers have a finite size, larger or longer variations can lead to buffer overflow and the loss of some of the video.
The video transmission rate at which the transmitting device sends the encoded video to the receiving device can be limited by the capacity of channels used to transport the encoded video. The capacity of a channel is the maximum data transmission rate the channel can transport, not including any channel overhead.
To facilitate transport of a peer-to-peer video, a mobile wireless network may provide a first radio transport channel between the mobile wireless device transmitting the video and the network. A second radio transport channel may be provided by the mobile wireless network between the network and the mobile wireless device receiving the video. For example, in mobile wireless networks based on the Universal Mobile Telecommunications Service (UMTS) version of the Wideband Code Division Multiple Access (WCDMA) protocol, the network generates a radio link divided into physical channels on to which transport channels can be mapped. Each physical channel is part of a group of physical channels that have the same base carrier frequency, but are distinguished by modulating the data stream for each channel with a chip code unique within the group of physical channels. The chip codes are generated at a constant rate. The capacity of each physical channel is determined by a value known as the spreading factor, which is the number of chips each data bit is spread across. Another protocol used on UMTS networks, High Speed Downlink Packet Access (HSDPA) can map a transport channel to more than one physical channel. This transport channel can be shared by multiple users.
The quality of these radio transport channels can vary over time due to changes in the radio environment. Such changes include interference from other mobile wireless devices in the vicinity accessing the same or different mobile wireless networks and signal fade from the mobile wireless device moving relative to the radio transceivers providing the radio transport channels.
When a radio environment changes for the worse, the radio transport channel quality may degrade to the point where an unacceptable amount of errors are made in the data being transmitted. In such a situation, the mobile wireless network may reduce the capacity of the affected radio transport channels in an attempt to maintain channel quality. This may be done in different ways. In UMTS/WCDMA networks, the capacity of a transport channel can be decreased by increasing the spreading factor of the underlying physical channel. Increasing the spreading factor aids the physical/transport channel in overcoming a poor radio environment. Conversely, the capacity of a transport channel/physical channel can be increased if the spreading factor is reduced. In UMTS/HSDPA networks, the spreading factor is fixed, but the capacity of a transport channel can be decreased by decreasing the number of physical channels the transport channel is mapped to. Decreasing the number of physical channels aids the remaining physical/transport channels in overcoming a poor radio environment. The transport channel capacity can also be decreased by decreasing the transport block size per the available radio power and radio link condition. If the UMTS/HSDPA transport channel is shared, then the priority of certain data streams can be increased to maintain the transmission rate of that stream.
Currently, video applications used on mobile wireless communication devices with mobile rate control react to a reduction in a radio transport channel capacity by decreasing the encoding rate of the video. The quality of each frame of video transmitted is reduced, but if the encoding rate remains less than or equal to the transmission capacity of the radio transport channel, then at least all or most frames will be transported to the viewer and the viewer will be spared the experience of viewing a herky-jerky video that results when many frames are dropped. However, if the radio environment later improves, current video applications have no way to increase the radio transport channel capacity.